package com.xtyhz.server;

import com.xtyhz.model.R;
import com.xtyhz.pojo.User;
import com.xtyhz.pojo.dto.LoginDto;

import java.util.List;
import java.util.Map;

public interface UserService {
    R<Map<String,String>> getCode();


    R<Map<String, String>> login(LoginDto loginDto);

    R<Map<String, String>> refreshToken(Map<String,String> refreshToken);

    /**
     * 查询所有管理端用户
     * @param page 当前页
     * @param size 每页大小
     * @param nickname 用户姓名
     * @param email 邮箱
     * @param phone 电话
     * @return 返回用户集合
     */
    R<List<User>> list(Integer page, Integer size, String nickname, String email, String phone);

    /**
     * 用户添加
     * @param user 用户信息:用户账号,用户姓名,用户密码,电话,邮箱
     * @return 返回是否成功
     */
    R<String> add(User user);

    /**
     * 修改用户
     * @param user 用户信息
     * @return 返回是否成功
     */
    R<String> update(User user);

    /**
     *
     * @param userId 用户Id
     * @return 返回是否成功
     */
    R<String> delete(Integer userId);

}
